﻿using System;
using System.ServiceModel;
using System.Collections.Generic;

using SBPweb.PlAzureNet.Shared.Library.Constants;

using SBPweb.PlAzureNet.Server.Data.Actors;

namespace SBPweb.PlAzureNet.Server.Library.Operations
{

    [ServiceContract(Namespace = Namespaces.Services_Operations_Data)]
    public interface IPleasureDataServiceContract
    {

        [OperationContract]
        Pleasure FetchOnePleasureById(int pleasureId);

        [OperationContract]
        Pleasure FetchOnePleasureByName(string pleasureName, string cultureCode);

        [OperationContract]
        IEnumerable<Pleasure> FetchAllPleasures();

        [OperationContract]
        IEnumerable<MetaInfo> FetchAllPleasureMetaInfoByPleasure(Pleasure pleasure);

        [OperationContract]
        IEnumerable<MetaInfo> FetchAllPleasureMetaInfoByPleasureId(long pleasureId);

        [OperationContract]
        IEnumerable<MetaInfo> FetchAllPleasureMetaInfoByPleasureName(string pleasureName, string cultureCode);

    }

}